我的数字IC学习路线

您所在的位置:网站首页 数字ic设计实例 dma 我的数字IC学习路线

我的数字IC学习路线

2023-08-30 07:05| 来源: 网络整理| 查看: 265

引言

很多朋友和我一样也是从FPGA转行入到数字IC,所以对数字IC很多知识也不是很清楚,我也一样不清楚,我想把我的数字IC学习路线记录在此, 全网也没有博客能如此详细的汇总这条路线并且分享出来,本博主希望开一个第一次,方便日后查阅和各位同道中人学习分享。另外,知识也需要不断巩固。经常回头看看,才能加深对知识的理解,当然我并不会写下所有理解的东西,因为有的需要你去探索,感悟,才属于自己。这只是一段历程,经历,学习IC并非一两天,几个月的事。尤其是网上视频资源模糊、各种资源都是英文,但我觉得不应该受到这些限制而退步,甚至任何东西都不应该成为阻挡的借口,且lab也不像互联网那样顺畅,更需要一份耐心,和等待,只要你有一颗不放弃IC的心,就会逐步突破,哪里不懂查哪里,哪里不会补习哪里,简单来说,比如有人一开始一个makefile文件或者tcl文件就难倒了,更要有一份耐心, 比如说有的视频其实我在不同的时间节点累计起来看过5遍~,但真正到了越后面,你才能抓住一些细节,领会到视频中说的意思,此外,新手不要只看视频,要多看userguide,学会自己研究阅读英文文档的能力,另外我的以下博文也并非按照顺序书写,而是以模块建立各个分支,然后每个分支都在不断前行。随着本人不断对知识的深入,本博客在不断更新,并可能删除一些含金量不高的文章,以及之前现在觉得并不太好的一些建议。另外一些公司培训的Lab感想,仅作为个人纪录,不对外公布。另外,还有自己本人研究的一些具有较高价值的文章,不对外公布。部分个人感悟文章,感兴趣,可以读者根据标题自行去研究,暂缓不公开,每篇文章都cost博主大量时间版权所有,请勿抄袭转载

1、准备入门IC的全局观念系列 1.1 准备入门IC的全局观念系列-上 1.2 准备入门IC的全局观念系列-中 1.3 准备入门IC的全局观念系列-下 2、前期准备 2.1 ubuntu18.04安装VCS+verdi错误集锦 2.2 一文搞懂Linux基本操作(上) 2.3 一文搞懂Linux基本操作(下) 2.4 一文深入搞懂Linux(实用篇) 2.5 一文搞懂VIM基本操作 2.6 添加内存条,加快你的笔记本 2.7 三星SSD T5 装ubuntu随身携带即插即用 3、重新开始认识数字电路和Verilog吧 3.1 一文重新认识Verilog 4、IC工具使用篇-VCS 4.1 IC-工具篇–VCS使用教程-卷一(20200328) 4.1 补充 VCS官方指导读书笔记 4.2 IC-工具篇–VCS使用教程-卷一(20200413) 4.1 VCS-bilibili教程篇1-Simulation Basics 4.2 VCS-bilibili教程篇2-Debug Basic 5-1、IC工具使用篇-DC 5.1 DC使用教程系列1-.synopsys.dc.setup的建立 5.2 DC使用教程系列2-时钟的概念与约束脚本 5.3 DC使用教程-command(持续更新) 5-2 、IC工具bilibili视频教程篇-DC 5.1 DC课程笔记-数字逻辑综合工具-DC Environment Attributes 5.2 DC课程笔记-数字逻辑综合工具-DC Synthesis Optimization Techniques 5-3 、IC工具使用-DC 官方workshop篇 5.1 DC workshop指导篇1- Setup and Synthesis Flow 6-1、DFT视频系列 概念篇 6.2 DFT DRC 6.3 DFT command 6-2 、DFT实训课程笔记篇-bilibili版 6.1 DFT实训教程笔记1(bibili版本)- introduction to DFT& DFT Architecture 6.2 DFT实训教程笔记2(bibili版本)- Scan synthesis practice 6.3 DFT实训教程笔记3(bibili版本)-SOC Scan Implementtation(后半部分待再看) 6.4 DFT实训教程笔记4(bibili版本)- ATPG(137后需再看D算法等理论) 6.5 DFT实训教程笔记5(bibili版本)- ATPG Practice&ATPG Practice II (93后因lab采用mentor ,暂未看) 6-3、关于DFT相关问题的思考

6.2.3、如何真正理解DFT的一些概念想法?

6-4、DFT ug读书笔记篇 DFTug -Getting Started (DFT basic flow) -上篇 DFTug -Getting Started (DFT basic flow) -下篇 DFTug - Architecture Your Test Design DFTug - Architecture Test Clocks DFTug - Introduction to Test Models DFTug - Test_point DFTug - Pipelined Scan Data DFTug - change_names With Verilog Rule DFTug - Scandef DFTug - OCC support DFTug - Configuring Clock-Gating Cells(ICG) ATPG (TMAX ug篇)

S1 violation - Troubleshooting a Scan Chain Blockage

TMAX使用【GSV&pin data】 6-5 、DFT axr理论与实践视频教程笔记篇 6-5.1 Scan Chain的原理与实现(理论) 6-5.2 Scan Chain的原理与实现(实践) - TOP Down Flow(上) 6-5.3 Scan Chain的原理与实现(实践) - TOP Down Flow(下) 7、Training感想篇 7.1 Memory Test 概念与Flow Lab (不公开) 7.2 DFT-TDS Flow(不公开) 7.3 Review DFT Lab1 training (不公开) 8、工作中Linux/VIM技巧补充 Linux如何显示文件数目的技巧&比较两个文件夹是否相同 强大的grep命令使用 VIM实际工作技巧 Linux实际工作技巧 9、Design for Test读书思考 9.1 为什么要做scan extraction? 9.2 深入理解Scan_replacement 10、Tmax ATPG ug系列 IEEE STIL文件语法总结 TMAXug - getting start TMAXug ATPG Design Flow 11、Verdi 篇 11.1 Verdi GUI技能操作 Before you start 11.2 Verdi GUI技能操作-nwave部分 11.3 Verdi GUI技能操作-nschema部分 11.4 Verdi GUI技能操作-Application Tutorials部分 11.5 Verdi .rc操作(不公开) 11.6 Verdi与TCL脚本(不公开) 12、TCL项目实战 12.1 TCL基础语法篇 12.2 TCL实际项目应用篇 13、IC前端设计系列(bilibili版) 13.1 DC的理论与实践操作【task 9、10】 14、DFT project实训经验篇(保密不公开) 关于block_setting里面的疑惑点 XX33项目(2021/2月-2021/5月): DFT projectXX44项目经验总结篇1 DFT projectXX44时间流程笔记 XX44项目bug经验总结 XX39项目bug经验总结 XX39项目FINAL总结 XX39项目 chip try版总结 15、project经历 待看资料&疑问问题 DFT sign-in Form XX30 scan plan XX30:block - otp_top 获取netlist的方法以及co-work注意事项 16、工作篇(大部分保密不公开) 待看资料与疑问 Slide制作技巧 聊天记录 Linux快速使用工作经验(公开:持续更新) 关于verdi使用的需求和技巧(公开: 持续更新) 公司组织架构和业内新闻 导入verdi的symbol library 工作中的FLOW中的注意事项INT&mail&qrsh& scan设置易出错点 chip设置易出错点 IC co-work mail Flow workcareer DFT关键经验篇(不公开) make it - 如何处理1‘b0和1‘b1 搞懂所有的report文件 如何查看当前的pattern环境是否有测到哪些fault?(不公开) 如何查看当前instance覆盖了多少或者哪些faults How to improve Scan Test Coverage to An Acceptable Level 为什么正常产生的pattern的SE信号并没有每次拉低? 为什么dump waveform的时候serial至少要设定为2以上 如何理解c39 violation? PSD - Debugging Parallel Simulation Failures for Combined Pattern Validation(CPV) 验证STIL的pattern的输入顺序 验证force_PI&measure_po是否有实现 为什么netlist post之后我们还需要跑ATPG? 为什么要开启SDFF/Q与test_mode相&的功能? how to achive scan_replacement during scan insertion? Error: can‘t find OCC toggle in patterns! 根据所有OCC drive的faults_list提取指定OCC测到的AN Auto Latch Insertion Flow 验证insert lockuplatch at pipehead/pipetail 探索在compression架构下lockup的插入位置 checklist机制 为什么scan_clk与function_clk不可以共用 为什么不推荐正沿+lockup+负沿的scan chain? 彻底弄懂理解ICG的基础概念 DFTug - Configuring Clock-Gating Cells(ICG) pindata =load的含义 Modify inout port PAD改为buf的高效style ATE上机测试co_work sub_module加wrapper提升testcov 指定DFT logic insertion的位置(DFT Logic insertion Location) SPC(shift power control)基础知识 DFTC与TMAX的差异认知 - clock edge的认知差异& function aware insertion read_faults XX.list -force_retain_code的作用 使用SNPS TCL 快速修改D1/D3 violation进行验证ATPG Netlist/SPF 匹配 for ATPG的使用说明 SAF coverage improvement to Target 实际项目经验 SAF coverage improvement to Target 实际项目经验2 ATPG Faults归类深度分析 intl pattern count 限制减少测试时间 LIB cell命名与组合逻辑关系汇总 如何快速生成OCC_info相关的信息以及注意事项 ug setting timing variable设置时序参数 对target_lib的映射限制HVT&LVT的理解 如何切出指定的pattern进行debug分析 在TMAX simulation里什么是 “unload 2“ ? postsim mismatch Error: check OCC ATE connection 17 、ATPG DRC深度研究(暂不公开) ATPG Z系列错误 Tristate rules ATPG S系列错误 Scan Chain Rules ATPG C系列错误 clock rules ATPG B系列错误 build model 奇怪的Error系列 18 、advaned DFT Techology(保密不公开) DFT高级处理方法与实现 – 在com架构insert_dft时候禁用某些cell DFT高级处理方法与实现 – classify port or cell DFT高级处理方法与实现 – 对PIPO的处理让cov提升 DFT高级处理方法与实现 – 对PIPO的处理让cov提升2 19 、周末学一点TCL系列(公开) TCL incr的含义和用法 TCL foreach的用法 TCL proc的用法 TCL with SNPS - collection TCL with SNPS - get_object_name&sizeof_collection&string TCL with SNPS info exists&create_cell&create_net&connect_net TCL with SNPS sizeof_collection&get_object_name&find&get_libs&list_attributes TCL with SNPS collection_limit&get_lib_pins TCL with SNPS get_attribute&get_lib_attribute&list_attributs&report_attribute TCL with SNPS llength&lappend&get_cells TCL with SNPS file exists&file rename/copy & redirect & lsearch & split 20、DFT 中的Python开发 python速学 2021/12/31 python速学 2022/1/2 Python excel 转 csv 的自动化 Python理解 if name == ‘main‘ Python 在shell模式写写for循环进行debug [python] import后的模块是否能del移除掉 Python sys.argv[ ] 用法 Python 如何在linux下面调试 python开发IC utility 一些常用的方法和函数和语法规则 Formality使用篇 Formality篇 - 基于DFT验证新手基础使用篇 Ncverilog 使用篇 NCverilog 篇 - 基于DFT presim基础使用篇 VCS 使用篇 VCS篇 - 基于DFT presim基础使用篇 VCS篇 - 基于DFT sim pattern STA系列 STA系列 – STA的基本概念 STA系列 — 如何理解标准单元 library STA系列 — 建立时间和保持时间的check STA系列 — multicycle path/半周期时序分析和falsepath约束 DFT 进阶 异步时钟setup与hold的彻底理解以及multicycle Timing model DFT 扩展 — Memory BIST bottom_Up multimode 下stitch/atpg研究 Top down Flow DFTMAX 架构基础 How to speed up scan shift frequency 如何去modify shift testbench for fixing timing 上机scan debug 指导 关于DFT的问题一年汇总

职业发展第二阶段

1、基础概念 1.1 什么是Harden 1.2 常见的config文件用法解析 1.3 Tessent shell T系列 - Scan chain Trace Rules经验积累 1.4 项目中的注意和潜在规定 1.5 I/O pad reuse EXCEL 1.6 内部命令研究 1.7 PDL的语法概念 2 Tessent TestKompress系列 2.1 EDT技术 ug - 第一章节 Getting Start 2.2 EDT技术 ug - 第二章节 The Compressed Pattern Flows(持续更新) 2.4 EDT技术 ug - 第四章节Creation of the EDT Logic (持续更新) 3、疑问以及实验论证 3.1 test pattern和simulate pattern有啥区别呢 3.2 tessent pdl&proc文件关系 3.3 如何搭建原汁原味的实验去验证一些想法 3.4 tessent 命令研究 - stil2mgc的使用 4、项目经验 4.1 如何做feedthrough 4.2 mem自动实现分组 4.2 交付时候sdc的处理 4.3 内部Flow流程研究 4.4 tessent ATPG 使用flatten model保存文件 4.5 验证ATPG中如何处理非scan的端口以及delete_pin的原则 4.6 ATPG仿真时如何初始化寄存器的值以及test_mode上电自解 4.7 如何正确的remove design,避免反复吃入db浪费时间 4.8 如何知道子模块的hierarchy 4.9 异步复位同步释放的原理 4.10 insert_dft时候有UPF相关错误(MV-090) 5、 Tessent ATPG ug系列 5.1 Tessent Atpg系列 第七章 Running ATPG Patterns 5.2 Tessent Atpg系列 第七章 Running ATPG Patterns ug 5.2 Tessent Atpg系列 第八章 Test Pattern Generation - Verify Test Pattern 5.3 Tessent Atpg系列 第八章 Test Pattern Generation - ATPG Tool Pattern Types(sequential pattern概念) 6、 仿真环境问题经验 6.1 stuck at presim环境建立 6.2 VCS仿真环境 - 如何解组合逻辑环loop 6.3 VCS报告大量Timing violation in mem? 6.4 postsim如何进行反标SDF 7、Tessent JTAG/IJTAG - ug系列 7.1 Tessent Ijtag 第一章节介绍篇 7.2 Tessent IJtag 第二章 什么是ICL? 7.3 JTAG标准协议介绍 7.6 Tessent IJTAG课程笔记 - IEEE1687 Introduction 7.7 IEEE 1687标准协议介绍 8、 Tessent Error 系列 8.1 Tessent test_setup mismatch Error: E14解法 8.2 Tessent ATPG ATPG - R2解法与pad方向 8.3 Tessent ATPG - D1 violation 8.4 Tessent ATPG - C1 violation 8.5 Tessent ATPG C22 violation 8.6 Tessent ATPG EDT Error: F10解法 8.67 Tessent ATPG EDT Error: F9解法 8.8 Tessent ATPG EDT Error: T24解法 8.9 Tessent ATPG mismatch debug经验 8.10 tessent ATPG TDF mismatch PLL配置完毕后引入X态 8.11 Tessent ATPF SAF mismatch debug经验 D/Q来源于同一个时钟 8.12 Tessent ATPG P1错误 9、ECO系列 9.1 ECO系列 — 防止输入pin悬空 10、formality系列 10.1 formality系列 - 对比dft之后的网表与PR吐出来的网表 10.2 formality系列 - 设置dont verify之后的影响 10.3 formality系列 - clock gating输入确定,输出X 11 、Prime Time系列 11.1 走进Prime Time系列 - 走进PT - 01 11.2 走进Prime Time系列 - PT的constraint - 02 11.3 走进Prime Time系列 - PT的Timing exception 03 11.4 STA系列 - 特殊时序分析multicycle/half-cycle/false path 11.5 STA系列 - 特殊时序分析 across clock domain分析/multiple clocks分析 11.6 STA系列 - 特殊时序分析 异步复位信号的recovery和remove time 11.7 STA系列 - 芯片的复位POR 11.8 STA系列 - 如何看懂时序报告 11.9 STA系列 - 芯片的鲁棒性OCV之set_time_derate 11.10 STA系列 - 为什么要对最小信号脉宽检查 11.11 STA系列 - clock transition\input transition\max transition的含义和区别 11.12 STA系列 - data to data check 12 STA命令系列 12.1 STA命令系列 - set_ideal_network 12.2 STA命令系列 - set_input_transition 13、mbist系列 13.1 shared_in_controller与per_interface的区别 13.2 Tessent MBIST课程笔记 - MBIST flow Introduction 13.3 Tessent MBIST课程笔记 - MBIST flow Introduction(2) 13.4 MBIST错误收集系列 - 与期待时钟不匹配 13.5 MBIST错误收集系列 - 与期待时钟不匹配2 14、Tessent Kompress系列 14.1 Tessent ATPG系列 - EDT Dual结构 14.2 Tessent ATPG系列 - EDT Bypass结构 15、IDDQ测试系列 15.1 IDDQ guide 入门 17 、library学习篇 17.1 library库学习篇 - libcomp将.v转.mdt的方法 19、全新课程系列培训篇


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3